package datasv.framework_datasv;

import java.util.List;

import po.CourseModelPO;
import po.ModelPO;
import po.SubModelPO;
import resultmessage.FrameworkRM;

public interface FrameworkDatasv {
	public ModelPO getModel(String collegeID,String modelID)  ;
	public FrameworkRM addModel(String collegeID, ModelPO model)  ;
	public FrameworkRM  deleteModel(String collegeID,String modelID)  ;
	public FrameworkRM updateModel(String collegeID, ModelPO po)  ;
	public List<SubModelPO> getAllSubModelOfModel(String collegeID, String modelID) ;
	public SubModelPO getSubModel(String collegeID,String modelID,String subModelID) ;
	public FrameworkRM addSubModel(String collegeID, String modelID, SubModelPO po)  ;
	public FrameworkRM deleteSubModel(String collegeID, String modelID, String SubModelID) ;
	public FrameworkRM updateSubModel(String collegeID, String modelID, SubModelPO po) ;
	
	public FrameworkRM deleteCouOfSubModel(String courseID,String subModelID)  ;
	public FrameworkRM addCouOfSubModel(String courseID,String subModelID)  ;
	public CourseModelPO getSubModelOfCou(String courseID)  ;
	public FrameworkRM updateSubModelOfCou (String courseID, String submodelID)  ;
	
	public boolean canChooseCurriculum()  ;
	public boolean canChooseCrossMajor()  ;
	public boolean canChoosePublic()  ;
	
	public boolean changeChooseCurriculum()  ;
	public boolean changeChooseCrossMajor()  ;
	public boolean changeChoosePublic()  ;
	
	public List<ModelPO> getCollegeModel(String collegeID)  ;

    public String addModelReturnID(String collegeID,ModelPO model);
	
	public String addSubModelReturnID(String collegeID,String modelID,SubModelPO submodel);
}
